package com.course.design.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.course.design.entity.Ltxx;
import com.course.design.entity.Ygxx;
import com.course.design.entity.vo.HistoryVO;
import com.course.design.entity.vo.MessageHisVO;
import com.course.design.entity.vo.MessageQueryVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 描述:
 *
 * @author qinlianji
 * @create 2020-02-19
 */
@Repository
public interface LtxxMapper extends BaseMapper<Ltxx> {

    /**
     * 查询最近与当前用户聊天的用户
     * @param userId
     * @return
     */
    List<HistoryVO> getHistory(@Param("userId") String userId);

    /**
     * 历史数据查询页面，由姓名得到最近的联系人
     * @param obj
     * @param ygghCd
     * @return
     */
    IPage<Ygxx> queryUserHistory(Page<Ygxx> obj, @Param("ygghCd") String ygghCd);

    /**
     * 查询俩用户的聊天记录
     * @param fromUserId
     * @param toUserId
     * @return
     */
    List<MessageHisVO> queryMessageHistory(@Param("fromUserId") String fromUserId, @Param("toUserId") String toUserId);

    /**
     * 设置当前聊天对象的数据为已读
     * @param vo
     */
    void clearUnread(@Param("vo") MessageQueryVO vo);

    /**
     * 得到在chatlist中的所有聊天信息
     * @param vo
     * @return
     */
    List<MessageHisVO> queryAllMessage(@Param("vo") List<MessageQueryVO> vo);

}
